You are here: Statements and Functions > Split As
Syntax samples
SPLIT <expression> AS <new entity name>
SPLIT 10 AS Entx
Splits an existing entity into a number of new entities (greater than one) you specify, and optionally changes the entity names. The treatment of cost and time statistics is based on whether the Split As statement is used explicitly or implicitly as defined later. ProModel counts the old entity as an exit and the resulting entities share the same attribute values as the original entity.
Any entity you wish to split must release all owned resources using the FREE statement. Use SPLIT AS to divide pieces of raw material into components. The entities formed by the SPLIT AS statement at a location will not appear in the statistics for this location.
The operation column of process edit tables only. ProModel does not allow SPLIT AS on conveyors, and not at the end of a queue. You also may not use SPLIT AS after a ROUTE statement. Do not use SPLIT AS in combination with COMBINE, CREATE, GROUP, UNGROUP, LOAD, UNLOAD, or other split statements in the same process logic.
Components
<expression>
Split the entity into this number of entities. ProModel evaluates this expression every time it encounters the statement.
<new entity name>
The name of the resulting entities. Each split entity searches forward in the process list, and then from the beginning of the list, until it finds a process for the new entity type at the current location.
When you use the SPLIT AS statement as an explicit entity action, ProModel transfers the accrued cost from the original entity to the new entities and divides it evenly between all of them, and counts the old entity as an exit.
Time statistics however are treated differently. The accrued time stays with the original entity when it is counted as an exit, and each new entity begins at zero with new time statistics.
The results will show that the original entity and new entities each have their own time statistics but only the new entities will have costs as all accrued costs from the original entity were passed to and split between the new entities.
ProModel allows you to split entities implicitly as part of the routing definition. To do this, define a route block with a Quantity field output value greater than one and the New Entity option unchecked.
When you split entities implicitly, ProModel transfers the accrued cost from the original entity to the new entities and divides it evenly among all new entities, and counts the old entity as an exit – same treatment as an explicit entity action.
In this case time statistics however are treated differently than explicit entity actions . The accrued time gets transferred in full to each of the new entities. The results will show that the old entity has no time or cost stats, and the new entities have all the time and cost stats.
Example
In the following example, a batch of entities, Batch A, arrives at Loc1 for a 2 hour processing time. Once the processing completes, BatchA splits into individual entities called EntA. ProModel determines the number of EntA’s resulting from the SPLIT AS statement by the value of BatchA’s attribute, Attr3.
Process Table
Entity |
Location |
Operation (min) |
---|---|---|
BatchA |
Loc1 |
WAIT 2 Hr SPLIT Attr3 AS EntA |
EntA |
Loc1 |
USE Res1 FOR U(2,.3) |
Routing Table
Blk |
Output |
Destination |
Rule |
Move Logic |
---|---|---|---|---|
|
|
|
|
|
1 |
EntA |
Loc2 |
FIRST 1 |
|
JOIN, GROUP, UNGROUP, and CREATE.